home *** CD-ROM | disk | FTP | other *** search
- # This file is a shell script that overrides some of the tools and
- # flags used on a host specific basis.
-
- # Since the "bfd/hosts" directory is shared by the bfd, opcodes, and
- # binutils directories (at least), the index to it is also shared.
- # This is that index. Each configure.in file should source this file
- # in its per-host part.
-
- # This sets the following shell variables:
- # HDEFINES host specific compiler options
- # host64 set to true if this is a 64 bit host
- # HOST_64BIT_TYPE host 64 bit type
- # SHLIB_CC compiler to use when building shared library
- # SHLIB_CFLAGS flags to use when building shared library
- # PICFLAG may be set to flag to use to compile PIC
- # SHLINK may be set to the name to link the shared library to
- # ALLLIBS may be set to libraries to build
- # HLDFLAGS LDFLAGS specific to the host
- # RPATH_ENVVAR environment variable used to find shared libraries
-
- HDEFINES=
- host64=false
- HOST_64BIT_TYPE=
-
- case "${host}" in
-
- alpha-*-*) host64=true; HOST_64BIT_TYPE=long ;;
-
- hppa*-*-hpux*) HDEFINES=-DHOST_HPPAHPUX ;;
- hppa*-*-hiux*) HDEFINES=-DHOST_HPPAHPUX ;;
- hppa*-*-bsd*) HDEFINES=-DHOST_HPPABSD ;;
- hppa*-*-osf*) HDEFINES=-DHOST_HPPAOSF ;;
-
- i[345]86-sequent-bsd*) HDEFINES=-Dshared=genshared ;;
- i[345]86-sequent-sysv4*) ;;
- i[345]86-sequent-sysv*) HDEFINES=-Dshared=genshared ;;
-
- mips-dec-netbsd*) ;;
- mips-dec-*) HDEFINES="-G 4" ;;
- mips-sgi-irix3*) HDEFINES="-G 4" ;;
- mips-sgi-irix4*) HDEFINES="-G 4" ;;
- mips-*-sysv4*) ;;
- mips-*-sysv*) HDEFINES="-G 4" ;;
- mips-*-riscos*) HDEFINES="-G 4" ;;
-
- m68*-hp-hpux*) HDEFINES=-DHOST_HP300HPUX ;;
-
- esac
-
- # If we are configuring with --enable-shared, adjust the shared
- # library support based on the host. This support must work for both
- # the BFD and the opcodes libraries.
- HLDFLAGS=
- RPATH_ENVVAR=LD_LIBRARY_PATH
- SHLIB_CC='$(CC)'
- SHLIB_CFLAGS='-shared'
- if [ "${shared}" = "true" ]; then
- case "${host}" in
- hppa*-*-*) picfrag=${srcdir}/../config/mh-papic ;;
- i[3456]86-*-*) picfrag=${srcdir}/../config/mh-x86pic ;;
- *-*-*) picfrag=${srcdir}/../config/mh-${host_cpu}pic ;;
- esac
- if [ -f "${picfrag}" ]; then
- pic=`sed -n -e 's/^PICFLAG[ ]*=[ ]*\(.*\)$/\1/p' ${picfrag}`
- if [ -n "${pic}" ]; then
- PICFLAG=${pic}
- fi
- fi
-
- case "${host}" in
- *-dec-osf*)
- # -fpic is not needed on the Alpha.
- PICFLAG=
- HLDFLAGS='-rpath $(libdir)'
- SHLIB_CFLAGS='-shared -Wl,-soname,$(SONAME)'
- ;;
- *-*-hpux*)
- # HP/UX uses .sl for shared libraries.
- SHLINK=`echo ${SHLINK} | sed -e 's/so$/sl/'`
- SHLIB_CFLAGS='-shared $(PICFLAG)'
- HLDFLAGS='-Wl,+s,+b,$(libdir)'
- RPATH_ENVVAR=SHLIB_PATH
- ;;
- *-*-irix5*)
- # -fpic is not needed on Irix 5.
- PICFLAG=
- SHLIB_CFLAGS='-shared -Wl,-soname,$(SONAME)'
- HLDFLAGS='-Wl,-rpath,$(libdir)'
- ;;
- *-*-linux*aout*)
- ;;
- *-*-linux*)
- SHLIB_CFLAGS='-shared -Wl,-soname,$(SONAME)'
- case "${libdir}" in
- /lib | /usr/lib) ;;
- *) HLDFLAGS='-Wl,-rpath,$(libdir)' ;;
- esac
- ;;
- *-*-sysv4* | *-*-solaris*)
- SHLIB_CFLAGS='-shared -h $(SONAME)'
- HLDFLAGS='-R $(libdir)'
- ;;
- *-*-sunos*)
- # Build a libTARGET-bfd.so.VERSION symlink in the object directory.
- ALLLIBS=`echo ${ALLLIBS} | sed -e 's/\$(SHLINK)/stamp-tshlink/'`
- ;;
- esac
- fi
-
- # On SunOS, if the linker supports the -rpath option, use it to
- # prevent ../bfd and ../opcodes from being included in the run time
- # search path.
- case "${host}" in
- *-*-sunos*)
- echo 'main () { }' > conftest.c
- ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
- if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
- :
- elif grep 'No such file' conftest.t >/dev/null 2>&1; then
- :
- elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
- :
- elif [ "${shared}" = "true" ]; then
- HLDFLAGS='-Wl,-rpath=$(libdir)'
- else
- HLDFLAGS='-Wl,-rpath='
- fi
- rm -f conftest.t conftest.c conftest
- ;;
- esac
-